package com.android.zhhr.ui.activity;

import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;

import com.android.zhhr.R;
import com.android.zhhr.presenter.WelcomePresenter;
import com.android.zhhr.ui.activity.base.BaseActivity;
import com.android.zhhr.ui.view.IWelcomeView;

/**
 * Created by 张皓然 on 2018/1/29.  WelcomeActivity是作为V
 *
 * 安卓的Activity是一个比较奇葩的角色，在MVP中，既可以用作V，因为一个应用的根布局总是由Activity来创建的。当然也可以当作P，因为Activity是一个应用的入口，也是出口，再加上一些关键的系统事件也都是通过Activity的方法来通知的
 * View是一个接口，负责被动的把处理好的数据显示出来,只负责更新界面(通常将Activity或者Fragment作为View层。)
 * Model也是一个接口，负责获取数据和存储数据.对于Model层也是数据层,逻辑处理;
 * Presenter持有的是View的接口和Model接口

 */

public class WelcomeActivity extends BaseActivity<WelcomePresenter> implements IWelcomeView, ActivityCompat.OnRequestPermissionsResultCallback {

    @Override
    protected void initPresenter(Intent intent) {
        mPresenter = new WelcomePresenter(this, this);
    }

    @Override
    protected int getLayout() {
        return R.layout.activity_welcome;
    }

    @Override
    protected void initView() {
        //首先检查相应的权限
        mPresenter.CheckPermission();

        //add start for adsdk
        /*if(Constants.isAD){
            if(ad==null){
                ad = ZAdSdk.getInstance().createAd(this, ZAdType.FULL_SCREEN, "1002");
            }
            ad.setDisplayListener(new ZAdDisplayListener() {
                @Override
                public void onDisplay(boolean b) {
                    mPresenter.ShowAdSuccess(b);
                }
            });
            ad.setLoadListener(new ZAdLoadListener() {
                @Override
                public void onResult(int i) {
                    mPresenter.getAdSuccess(i);
                }
            });
            ZAdSdk.getInstance().getLoader().loadAd(ad);
            //预加载视频
            ZAdSdk.getInstance().getLoader().preloadAd(ZAdType.VIDEO,"1004");
        }*/
        //add end

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
            return;
        }
        mPresenter.onDestory();
    }

    @Override
    public void ShowToast(String t) {
        showToast(t);
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if (grantResults.length != 0) {
            mPresenter.requestPermission(grantResults[0]);
        }
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    }
}
